1
포실린을 넘어서, 플러밍의 힘
AI016Lesson 13
00:00

Git을 진정으로 다루기 위해서는 사용자 친화적인 표면 아래로 내려가야 한다 포실린 명령어를 통해 플러밍—Git의 내부 객체 데이터베이스를 관리하는 저수준 엔진이다. 이 데이터베이스는 모든 데이터가 불변 객체로 저장되는 콘텐츠 주소 기반 파일 시스템이다.

1. 포실린과 플러밍

포실린 고급 명령어(예: git status)를 인간 상호작용을 위해 설계한 것이다. 플러밍 Git 객체 데이터베이스를 직접 조작하는 저수준 명령어를 의미하며, 우리는 이를 통해 Git의 진짜 내부 표현에 접근할 수 있다.

2. 객체 데이터베이스

Git은 다음 디렉터리 내에서 키-값 저장소처럼 작동한다: .git/objects 디렉터리 안에 내부 객체를 보관한다: 블롭, 트리, 커밋그리고 태그브랜치는 종종 객체와 함께 논의되지만, 이 커밋들을 참조하는 역할을 한다.

포실린(터미널)$ git status"main 브랜치에 있습니다..."플러밍(.git/objects)├── af/└── e672b1...└── e6/└── 2a19f4...

3. SHA-1 주소 지정

모든 객체는 고유한 40자리 16진수로 구성된 SHA-1 체크섬으로 이름이 붙여진다. Git은 처음 두 문자를 서브디렉터리 이름으로 사용하여 저장 공간을 최적화한다(예: af/) 및 나머지 38자를 파일 이름으로 사용한다.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>